//package com.szjz.tool.release.controller.excel;
//
//import com.alibaba.excel.EasyExcel;
//import com.alibaba.excel.ExcelReader;
//import com.alibaba.excel.read.metadata.ReadSheet;
//import com.szjz.tool.release.common.JResult;
//import com.szjz.tool.release.common.excel.ColumnProperty;
//import com.szjz.tool.release.common.excel.EasyExcelListener;
//import com.szjz.tool.release.common.excel.TableConvertDbScriptEngine;
//import com.szjz.tool.release.common.excel.TableMeta;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController;
//import org.springframework.web.multipart.MultipartFile;
//
//import javax.servlet.http.HttpServletRequest;
//import java.util.List;
//import java.util.Map;
//
//@Slf4j
//@RestController
//@Api(tags = "一体化编译发版辅助小工具", value = "一体化编译发版辅助小工具")
//@RequestMapping("/db")
//public class ERdbOpController {
//
//    /**
//     * @param files
//     * @param request
//     * @return JResult<String>
//     * @desc：数据为脚本生成
//     * @author：Test
//     * @date：2022/5/16 11:46
//     */
//    @ApiOperation(value = "解析Excel模板数据")
//    @PostMapping("/transfer/simple/excel")
//    public JResult<TableMeta> simpleDealExcel(@RequestParam("files") MultipartFile[] files, HttpServletRequest request) {
//        log.info("[数据库-Excel脚本转换] 上传模块数据， 请求参数==> 文件数量：" + files.length);
//        JResult<TableMeta> result = JResult.build();
//        Map<String, Object> map = null;
//        try {
//            for (MultipartFile file : files) {
//                String fileType = file.getContentType();
//                String name = file.getOriginalFilename();
//                long size = file.getSize();
//                log.info("-- 文件名称：" + name + ",大小：" + size + ",类型：" + fileType);
//                // 单条，simple record
//                EasyExcel.read(file.getInputStream(), ColumnProperty.class,new EasyExcelListener()).sheet(0).headRowNumber(2).doRead();
//                break;
//            }
//            // 分别取出多sheet表格数据
//            List<TableMeta> tables = TableConvertDbScriptEngine.fetchTables();
//            if(tables !=null && tables.size()>0){
//                result.ok(tables.get(0));
//            }
//        } catch (Exception e) {
//            result.failed("解析Excel模板数据发生错误！" );
//            log.error("解析Excel模板数据发生错误！", e);
//        }
//        return result;
//    }
//
//    /**
//     * @param files
//     * @param request
//     * @return JResult<String>
//     * @desc：数据为脚本生成
//     * @author：Test
//     * @date：2022/5/16 11:46
//     */
//    @ApiOperation(value = "解析Excel模板数据")
//    @PostMapping("/transfer/multi/excel")
//    public JResult<List<TableMeta>> mutiplyProcessExcel(@RequestParam("files") MultipartFile[] files, HttpServletRequest request) {
//        log.info("[数据库-Excel脚本转换] 上传模块数据， 请求参数==> 文件数量：" + files.length);
//        JResult<List<TableMeta>> result = JResult.build();
//        Map<String, Object> map = null;
//        try {
//            for (MultipartFile file : files) {
//                String fileType = file.getContentType();
//                String name = file.getOriginalFilename();
//                long size = file.getSize();
//                log.info("-- 文件名称：" + name + ",大小：" + size + ",类型：" + fileType);
//                ExcelReader build = EasyExcel.read(file.getInputStream()).build();
//                List<ReadSheet> readSheets = build.excelExecutor()
//                        .sheetList();
//                //  解析多个sheet
//                for (ReadSheet readSheet : readSheets) {
//                    //第二部分从第3行开始读
//                    readSheet = EasyExcel.readSheet(readSheet.getSheetNo()).head(ColumnProperty.class).registerReadListener(new EasyExcelListener()).headRowNumber(2).build();
//                    build.read(readSheet);
//                    //
//                }
//
//            }
//            // 分别取出多sheet表格数据
//            List<TableMeta> tables = TableConvertDbScriptEngine.fetchTables();
//            result.ok(tables);
//            TableConvertDbScriptEngine.reset();
//        } catch (Exception e) {
//            result.failed("上传文件失败:" + e.getMessage());
//            log.error("*** [OSS文件上传] 上传文件发生了异常", e);
//        }finally {
//
//        }
//        return result;
//    }
//}
//
//
